#if defined (_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

#ifndef JETBYTE_TOOLS_WIN32_SOCKET_ADDRESS_INCLUDED__
#define JETBYTE_TOOLS_WIN32_SOCKET_ADDRESS_INCLUDED__


#include <winsock2.h>

#include "tstring.h"

///////////////////////////////////////////////////////////////////////////////
// Namespace: OldDreamTools::Win32
///////////////////////////////////////////////////////////////////////////////

namespace OldDreamTools {
namespace Win32 {

///////////////////////////////////////////////////////////////////////////////
// CSocketAddress
///////////////////////////////////////////////////////////////////////////////

class CSocketAddress
{
   public :

      explicit CSocketAddress(
         const sockaddr *pSockAddr);

      _tstring GetAsString() const;

   private :

      const _tstring m_address;

      // No copies do not implement
      CSocketAddress(const CSocketAddress &rhs);
      CSocketAddress&operator=(const CSocketAddress &rhs);
};

///////////////////////////////////////////////////////////////////////////////
// Namespace: OldDreamTools::Win32
///////////////////////////////////////////////////////////////////////////////

} // End of namespace Win32
} // End of namespace OldDreamTools

///////////////////////////////////////////////////////////////////////////////
// Lint options
//
//lint -restore
//
///////////////////////////////////////////////////////////////////////////////

#endif //JETBYTE_TOOLS_WIN32_SOCKET_ADDRESS_INCLUDED__

///////////////////////////////////////////////////////////////////////////////
// End of file
///////////////////////////////////////////////////////////////////////////////
